﻿using System;
using System.Web.UI.WebControls;
using PES.Common.BLL;
using Campeonato.Model;

namespace PESWeb.Pages.Estatisticas
{
    using PES.Model;

    public partial class InformacoesGerais : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.AtualizaLabels();
            var ddlstCampeonatos = Master.FindControl("ddlstCampeonatos") as DropDownList;
            ddlstCampeonatos.SelectedIndexChanged += new EventHandler(ddlstCampeonatos_SelectedIndexChanged);
        }

        private void AtualizaLabels()
        {
            EstatisticasCampeonato estatisticas = EstatisticasBLL.BuscarEstatisticasCampeonato(this.CampeonatoCarregado);
            this.lblQtdeGolsMarcados.Text = estatisticas.TotalGols.ToString();
            this.lblQtdeJogosDisputados.Text = estatisticas.TotalPartidasDisputadas.ToString();
            this.lblQtdeJogosRestantes.Text = estatisticas.TotalPartidasRestantes.ToString();
            lblMediaGols.Text = estatisticas.MediaDeGols.ToString();
            if (estatisticas.PlacaresMaisFrequentes != null && estatisticas.PlacaresMaisFrequentes.Count > 0)
            {
                const string texto = "{0} x {1} ({2} {3})<br />";
                lblPlacaresFrequentes.Text = "";
                foreach (var placarFrequente in estatisticas.PlacaresMaisFrequentes)
                {
                    lblPlacaresFrequentes.Text += string.Format(texto, placarFrequente.GolsJogador1,
                                                               placarFrequente.GolsJogador2,
                                                               placarFrequente.QtdeVezes,
                                                               placarFrequente.QtdeVezes > 1? "vezes" : "vez");
                }
            }
            else
            {
                lblPlacaresFrequentes.Text = "não disp.";
            }
        }

        void ddlstCampeonatos_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.AtualizaLabels();
        }
    }
}